package com.erp.entity.goods;

import java.util.List;

/**
 * 终极商品实体类(封装有一个商品对应的所有信息）
 */
public class UltimateGoods {
    /** 基本商品信息(前后端无问题) */
    private Goods baseGoods;
    // 下面的是商品单位，只有一个对象有值，根据商品基础信息里的单位类型和ID确定
    /** 商品单计量单位 */
    private Unit unit;
    /** 商品多计量单位(封装的多单位组实体，具体结构自行查看) */
    private UnitGroupRequest multipleUnit;

    //下面是预计的字段
    /** 图片对象列表（） */
    private List<GoodsImages> images;

    /** 库存预警列表（分仓预警需要，不设立的话就是对所有仓库）(前后端无问题) */
    private List<InventoryAlert> alerts;

    /** 批次保质管理 */
    private BatchQuality quality;

    /** 价格策略对象列表（对应单位） (前后端无问题)*/
    private List<GoodsPriceStrategy> priceStrategies;

    /** 期初设置 */
    private List<Beginning>  beginnings;

    public UltimateGoods() {
    }

    public UltimateGoods(Goods baseGoods, Unit unit, UnitGroupRequest multipleUnit, List<GoodsImages> images, List<InventoryAlert> alerts, BatchQuality quality, List<GoodsPriceStrategy> priceStrategies, List<Beginning> beginnings) {
        this.baseGoods = baseGoods;
        this.unit = unit;
        this.multipleUnit = multipleUnit;
        this.images = images;
        this.alerts = alerts;
        this.quality = quality;
        this.priceStrategies = priceStrategies;
        this.beginnings = beginnings;
    }

    /**
     * 获取
     * @return baseGoods
     */
    public Goods getBaseGoods() {
        return baseGoods;
    }

    /**
     * 设置
     * @param baseGoods
     */
    public void setBaseGoods(Goods baseGoods) {
        this.baseGoods = baseGoods;
    }

    /**
     * 获取
     * @return unit
     */
    public Unit getUnit() {
        return unit;
    }

    /**
     * 设置
     * @param unit
     */
    public void setUnit(Unit unit) {
        this.unit = unit;
    }

    /**
     * 获取
     * @return multipleUnit
     */
    public UnitGroupRequest getMultipleUnit() {
        return multipleUnit;
    }

    /**
     * 设置
     * @param multipleUnit
     */
    public void setMultipleUnit(UnitGroupRequest multipleUnit) {
        this.multipleUnit = multipleUnit;
    }

    /**
     * 获取
     * @return images
     */
    public List<GoodsImages> getImages() {
        return images;
    }

    /**
     * 设置
     * @param images
     */
    public void setImages(List<GoodsImages> images) {
        this.images = images;
    }

    /**
     * 获取
     * @return alerts
     */
    public List<InventoryAlert> getAlerts() {
        return alerts;
    }

    /**
     * 设置
     * @param alerts
     */
    public void setAlerts(List<InventoryAlert> alerts) {
        this.alerts = alerts;
    }

    /**
     * 获取
     * @return quality
     */
    public BatchQuality getQuality() {
        return quality;
    }

    /**
     * 设置
     * @param quality
     */
    public void setQuality(BatchQuality quality) {
        this.quality = quality;
    }

    /**
     * 获取
     * @return priceStrategies
     */
    public List<GoodsPriceStrategy> getPriceStrategies() {
        return priceStrategies;
    }

    /**
     * 设置
     * @param priceStrategies
     */
    public void setPriceStrategies(List<GoodsPriceStrategy> priceStrategies) {
        this.priceStrategies = priceStrategies;
    }

    /**
     * 获取
     * @return beginnings
     */
    public List<Beginning> getBeginnings() {
        return beginnings;
    }

    /**
     * 设置
     * @param beginnings
     */
    public void setBeginnings(List<Beginning> beginnings) {
        this.beginnings = beginnings;
    }

    public String toString() {
        return "UltimateGoods{baseGoods = " + baseGoods + ", unit = " + unit + ", multipleUnit = " + multipleUnit + ", images = " + images + ", alerts = " + alerts + ", quality = " + quality + ", priceStrategies = " + priceStrategies + ", beginnings = " + beginnings + "}";
    }
}
